package com.bookm.service;


import java.util.HashMap;

import com.alibaba.fastjson.JSONObject;
import com.bookm.bean.ImportColumnInfo;

public interface ImportExeclService {
	
	/**
	 * // 设置导入字段和key 字段
	 * @Description 
	 * @author sean.xie
	 * @param icHash
	 */
	void setImportColumn(HashMap<String, ImportColumnInfo> icHash)throws Exception;
	
	/**
	 * 将导入数据格式华为插入或修改的对象
	 * 同时进行必须导入主键及必须项检查
	 * @Description 
	 * @author sean.xie
	 * @param jsonObject
	 * @return
	 */
	abstract Object formatObject(JSONObject jsonObject) throws Exception;
		
	/**
	 * 导入前置处理 
	 * @Description 
	 * @author sean.xie
	 * @param style
	 */
	void importBefore()throws Exception;
	
	/**
	 * 导入后置处理
	 * @Description 
	 * @author sean.xie
	 * @param style
	 */
	void importAfter()throws Exception;
	
	/**
	 * 导入特殊检查，如果出现，导入则直接终止
	 * @Description 
	 * @author sean.xie
	 * @param payBearcostObj
	 */
	void import_check(Object object)throws Exception;
	
	/**
	 * 导入一条数据
	 * @Description 
	 * @author sean.xie
	 * @param payBearcostObj
	 */
	void importData(Object object) throws Exception;
	
	/**
	 * 导入完成更新导入标记
	 * @Description 
	 * @author sean.xie
	 */
	void setImpflag();
}
